home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Frameworks / Grant's CGI Framework 1.0b12 / Util / ListSTAR.h < prev    next >
C/C++ Source or Header  |  1995-12-09  |  3KB  |  130 lines

  1. #pragma once
  2. /*****
  3.  *
  4.  *    Grant's CGI Framework (Common Grant Interface :-)
  5.  *        http://arpp1.carleton.ca/grant/mac/grantscgi.html
  6.  *
  7.  *    CGI.h
  8.  *
  9.  *    standard types and function prototypes for ListSTAR event applications
  10.  *    See the Read Me or ListSTAR.c for instructions on using the utilities
  11.  *
  12.  *    #include this file in your source files that need to access the ListSTAR module
  13.  *
  14.  *    This is a support file for "Grant's CGI Framework".
  15.  *    Please see the license agreement that accompanies the distribution package
  16.  *    for licensing details.
  17.  *
  18.  *    Copyright ©1995 by Grant Neufeld
  19.  *
  20.  *    http://arpp1.carleton.ca/grant/
  21.  *    gneufeld@ccs.carleton.ca
  22.  *    grant@acm.org
  23.  *
  24.  *****/
  25.  
  26. #include "MyConfiguration.h"
  27. #if kCompileWithListSTARCode
  28.  
  29.  
  30. /***  CONSTANT DECLARATIONS  ***/
  31.  
  32. #define krsListSTARSpoolPath    4000    /* string rsrc for spool folder file path */
  33.  
  34. #define kLStarParamMaxSize        32767
  35.  
  36. /* Apple events */
  37.  
  38. #define kAEClassStarNine        '9evt'
  39. #define kAEIDListStarEvent        '9Lis'
  40.  
  41. #define kLSTARmailService        '----'
  42. #define kLSTARsenderName        's9nm'
  43. #define kLSTARsenderEmail        's9em'
  44. #define kLSTARmailSubject        's9sj'
  45. #define kLSTARregExp            's9re'
  46. #define kLSTARmailFile            's9fn'
  47. #define kLSTARsenderMC            's9mc'
  48. #define kLSTARsenderMCZone        's9mz'
  49. #define kLSTARsenderMCEmail        's9me'
  50.  
  51. enum
  52. {
  53.     Trigger_error    = -1,
  54.     Trigger_failure    = 0,
  55.     Trigger_success    = 1
  56. };
  57.  
  58.  
  59. /***  TYPE DECLARATIONS  ***/
  60.  
  61. typedef enum
  62. {
  63.     ListSTAR_UNKNOWN,
  64.     ListSTAR_Trigger,
  65.     ListSTAR_Action
  66. } ListSTARMethod;
  67.  
  68. typedef struct
  69. {
  70.     char *    mailService;    /* '----' name of service    */
  71.     char *    senderName;        /* 's9nm' name of user who sent mail    */
  72.     char *    senderEmail;    /* 's9em' email of user who sent mail    */
  73.     char *    mailSubject;    /* 's9sj' subject of the message    */
  74.     char *    regExp;            /* 's9re' data from parsing messsage    */
  75.     FSSpec    mailFile;        /* 's9fn' from name of mail in spool folder    */
  76.     char *    senderMC;        /* 's9mc' sender's mailCenter    */
  77.     char *    senderMCZone;    /* 's9mz' sender's mailCenter zone    */
  78.     char *    senderMCEmail;    /* 's9me' sender's mailCenter address    */
  79.     
  80.     AppleEvent *    appleEvent;        /* originating appleEvent    */
  81.     AppleEvent *    replyEvent;        /* apple event reply record    */
  82.     
  83.     /* public fields to be filled in */
  84.     ListSTARMethod    method;            /* the type of method to use */
  85.     
  86.     long *            triggerValue;    /* true > 0; false == 0; error < 0    */
  87. } LStarRecord;
  88.  
  89. typedef LStarRecord ** LStarHdl;
  90.  
  91.  
  92. /***  GLOBAL DECLARATIONS  ***/
  93.  
  94. #ifdef __LStarSegment__
  95. #define _GLOBAL_    
  96. #else
  97. #define _GLOBAL_    extern
  98. #endif
  99.  
  100. _GLOBAL_    FSSpec    gListSTARSpoolFolder;
  101.  
  102. #undef _GLOBAL_
  103.  
  104.  
  105. /***  FUNCTION PROTOTYPES  ***/
  106.  
  107.         OSErr    InitListSTARUtil    ( void );
  108.         
  109. pascal    OSErr    ListSTARAppleEvent    ( AppleEvent *, AppleEvent *, long );
  110.  
  111.  
  112. /***  EXTERNAL FUNCTION PROTOTYPES  ***/
  113.  
  114.     /* this is the function which you must define for your particular application */
  115.     void        MyListSTARProcess    ( LStarHdl );
  116.     
  117.     /* this function is called once at startup time.
  118.         Put any initialization you need to do in it. */
  119.     Boolean        MyListSTARStartup    ( void );
  120.  
  121.  
  122. #else    /* if not kCompileWithListSTARCode */
  123.     
  124.     #define InitListSTARUtil()    (noErr)
  125.     #define MyListSTARStartup()    (true)
  126.  
  127. #endif    /* kCompileWithListSTARCode */
  128.  
  129. /***  EOF  ***/
  130.